草庐IT

python - Element Tree对xpath的限制

全部标签

python - 在 Python 中,如何引用包含连字符的 XML 标记

我正在尝试使用BeautifulSoup来解析XML文件。其中一个元素中有一个连字符:distribution-code我如何访问它?我试过:soup.distribution-codesoup."distribution-code"(triedsinglequotestoo)soup.[distribution-code]但这些都不起作用。 最佳答案 您可以使用常规Python语法通过属性引用访问非连字符元素,即obj.name,但是,-不是使用该语法时的有效字符(Python将其视为“减号”运算符),因此您无法通过该方法访问此类

xml - 如何使用 Xpath 匹配一个或另一个元素

我四处搜索但没有看到这个问题的答案,尽管它必须(?)很简单?给出类似的东西:我想选择input元素或select,事先不知道它会是哪个。我试过对此的变体(其中.是表单节点):./(inputorselect)但我收到有关无效xpath的消息。这是在Python3中。 最佳答案 您可以使用这个XPath://input|//select或//*[self::inputorself::select] 关于xml-如何使用Xpath匹配一个或另一个元素,我们在StackOverflow上找到一

python - 如何获取平面 XML 以便将外部实体合并到顶层

我知道这是一个边界案例,无论它真的属于stackoverflow还是super用户,但似乎这里有很多“编辑代码”问题,我将其发布在SO上。我有一堆XML文件,有人以其无限的智慧决定使用标签将其分解为多个文件,结果使调试/编辑它们成为一个巨大的P-i-t-A。因此,我正在寻找:在VIM中在单个缓冲区中打开它们的方法(最好将更改保存在正确的外部实体文件中),或者;一种在VIM中扩展文件以便在缓冲区中读取和替换外部实体的方法,或者;一种在命令行(或.vimrc中)执行此操作的简单bash/sed/python方法顶层包含的文件可能包含新文件等等谁知道有多少层所以这需要递归...这是顶层文件的

xml - 使用 XPATH 从节点列表中选择唯一元素列表

在XPATH中是否可以从一个有许多相同元素的节点中选择一个唯一元素列表?PopsicleIceCreamPopsicleCheeseCake在这个例子中,我希望结果列表只有3个节点(冰棒/冰淇淋/芝士蛋糕)。如何使用Xpath选择这样的列表? 最佳答案 尝试以下xpath:/Deserts/Desert[not(@Code=preceding-sibling::Desert/@Code)]它将通过检查DesertCode属性返回不同的沙漠。 关于xml-使用XPATH从节点列表中选择唯一

xml - 如何向 XML (XSD) 模式中的复杂类型添加限制?

任何人都可以帮我添加一个限制到这个模式文件(对于OwnerEnglishName)吗?我知道如何使用简单类型来实现,而在复杂类型中我不知道如何实现。谁能帮忙?非常感谢。原始XML:架构(无限制):限制码: 最佳答案 这样做就可以了:-这是具有此模式的可接受的XML示例GGGGG 关于xml-如何向XML(XSD)模式中的复杂类型添加限制?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

c# - Json.net:JObject.SelectToken 可以做 XPath 可以做的事情吗?如果是,语法是什么?

query的答案2009年发布的是使用新功能JObject.SelectToken,它应该提供类似XPath的功能。我现在使用的是JSON.NET4.5R11,SelectToken方法可用。但是我找不到很多关于要传递给SelectToken函数的路径字符串的文档(基本上是语法)。以下代码生成一个Json字符串,我想在其上执行类似Xpath的方法(即据我所知SelectToken)IListbranches=newArrayList();IListemployees=newArrayList();employees.Add(new{EmpId=1,Name="Name1"});empl

Python:xml.dom.minidom 空 nodeValue 非空 toxml() 值

我有一行获取节点的节点值:parent.getElementsByTagName("Url")[0].nodeValue什么都不返回:当我这样做时:parent.getElementsByTagName("Url")[0].toxml()它返回:www.something.com我不确定这里发生了什么。另一个数据点:当我执行nodeName而不是nodeValue时,它​​会按预期返回Url。有什么想法吗? 最佳答案 试试这个:parent.getElementsByTagName('Url')[0].childNodes[0].n

python - 在 Suds python 中覆盖 Soap Envelope

我有一个摄像头,我正在尝试连接到它以防SOAP水。我尝试发送原始xml,发现唯一阻止xml泡沫工作的是不正确的Soap信封命名空间。信封命名空间是:xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"我想将其重写为:xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"为了在python中添加命名空间,我尝试了以下代码:message=Element('Element_name').addPrefix(p='SOAP-ENC',u='www.w3.org/ENC')

Python:xml ElementTree(或 lxml)中的命名空间

我想检索遗留的xml文件,操作并保存它。这是我的代码:fromxml.etreeimportcElementTreeasETNS="{http://www.somedomain.com/XI/Traffic/10}"deffix_xml(filename):f=ET.parse(filename)root=f.getroot()eventlist=root.findall("%(ns)Event"%{'ns':NS})xpath="%(ns)sEventDetail/%(ns)sEventDescription"%{'ns':NS}foreventineventlist:desc=ev

Python xml 编码

我正在学习Python,我的背景是JavaEE。我以前使用过JAXB,我基本上可以在其中定义一个常规类,在其中添加一些注释,然后使用JAXB将对象编码到xml。这意味着我不关心创建根元素、节点等,而只是编写Java类并在各处对其进行注释。Python有这样的东西吗? 最佳答案 这里有一些:lxml.objectifygnosis.xml.objecitypyxser看起来很酷PickletoXML-使用Python的pickle和xml.dom.minidompyxml-fromxmlimportmarshal(可能有问题)Amar